import { CACHE_USERINFO, CACHE_TOKEN, CACHE_EXPIRES_TIME } from '../../config.js';
import Util from '../../utils/util.js';
import { getLogo } from '../../api/api.js';
import { login } from '../../api/user.js';

let app = getApp();

Component({
  properties: {
    iShidden: {
      type: Boolean,
      value: true,
    },
    //是否自动登录
    isAuto: {
      type: Boolean,
      value: true,
    },
    isGoIndex:{
      type: Boolean,
      value:true,
    },
  },
  data: {
    cloneIner: null,
    loading:false,
    errorSum:0,
    errorNum:3,
    code:'',
    unioncode:''
  },
  attached() {
    this.get_logo_url();
    this.setAuthStatus2();
    this.getcode()
  },
  methods: {
    //获取code
    getcode(){
        let that = this;
      Util.getCodeLogin((res)=>{
        console.log(res)
        this.setData({code:res.code})
      })
      wx.login({
        success (res) {
             that.setData({unioncode:res.code})
        }
      })
    },
    close(){
      let pages = getCurrentPages();
      let currPage  = pages[pages.length - 1];
      if(this.data.isGoIndex){
        wx.switchTab({url:'/pages/index/index'});
      }else{
        this.setData({
          iShidden: true
        });
        if (currPage && currPage.data.iShidden != undefined){
          currPage.setData({ iShidden:true});
        }
      }
    },
    get_logo_url: function () {
      var that = this;
      if (wx.getStorageSync('logo_url')) return this.setData({ logo_url: wx.getStorageSync('logo_url') });
      getLogo().then(res=>{
        wx.setStorageSync('logo_url', res.data.logo_url);
        that.setData({ logo_url: res.data.logo_url });
      });
    }, 

  //新版检测登录状态并执行自动登录
  setAuthStatus2() {
    var that = this;
    if(Util.checkLogin()){
      that.triggerEvent('onLoadFun', app.globalData.userInfo);
    }
  },
    //新版登录
    setUserInfo2(){
      let that=this;
      wx.showLoading({ title: '正在登录中' });
      Util.wxgetUserProfile().then(userInfo=>{
        userInfo.code = that.data.code;
        userInfo.unioncode = that.data.unioncode
        that.getWxUserInfo(userInfo);
      }).catch(error=>{
        wx.hideLoading();
      })
    },

    getWxUserInfo: function (userInfo){
      let that = this;
      userInfo.spread_spid = app.globalData.spid;//获取推广人ID
      userInfo.spread_code = app.globalData.code;//获取推广人分享二维码ID
      login(userInfo).then(res => {
        app.globalData.token = res.data.token;
        app.globalData.isLog = true;
        app.globalData.userInfo = res.data.userInfo;
        app.globalData.expiresTime = res.data.expires_time;
        wx.setStorageSync(CACHE_TOKEN, res.data.token);
        wx.setStorageSync(CACHE_EXPIRES_TIME, res.data.expires_time);
        wx.setStorageSync(CACHE_USERINFO, JSON.stringify(res.data.userInfo));
        if (res.data.cache_key) wx.setStorage({ key: 'cache_key', data: res.data.cache_key });
        //取消登录提示
        wx.hideLoading();
        //关闭登录弹出窗口
        that.setData({ iShidden: true, errorSum: 0 });
        //执行登录完成回调
        that.triggerEvent('onLoadFun', app.globalData.userInfo);
      }).catch((err) => {
        console.log(err)
        Util.Tips({ title: err });
        this.getcode()
        //wx.hideLoading();
        // that.data.errorSum++;
        // that.setData({ errorSum: that.data.errorSum });
        // if (that.data.errorSum >= that.data.errorNum) {
        //   Util.Tips({ title: err });
        // } else {
        //   that.setUserInfo(userInfo);
        // }
      });
    }
  },
})